// next 函数是中间件连续调用的关键
const express = require('express');;
const app = express();

// // 简写方式，全局中间件  中间件可以共享 res,req 可以为其添加属性，供全局使用
app.use((req, res, next) => {
    console.log('打印第一个中间件');
    const data = Date.now();
    //挂载自定义属性，以为共享到后面使用
    req.startTime = data;
    res.user = {
        name: 'zks',
        age: 22
    };
    next();
})

// //第二个中间件 依次执行
app.use((req, res, next) => {
    console.log('打印第二个中间件');
    next();
}, (req, res, next) => {
    res.user.university = "南京工业职业技术大学"
    console.log('第三个中间件');
    next()
})

app.get('/user', (req, res) => {
    res.send('获取成功' + req.startTime);
    console.log(res.user);
});
app.post('/use', (req, res) => {
    res.send('请求成功' + req.startTime);
});

app.listen(80, function() {
    console.log('server runing http://127.0.0.1');
})